import App from './App'

// Vue 3 配置
import {
	createSSRApp
} from 'vue'

export function createApp() {
	const app = createSSRApp(App)

	// 全局错误处理
	app.config.errorHandler = (err, vm, info) => {
		console.error('全局错误:', err)
		console.log('错误信息:', info)
		// 可以在这里添加错误上报逻辑
	}

	// 全局属性 - 应用配置
	app.config.globalProperties.$appName = '搭子星球'

	// 全局方法 - 提示信息封装
	app.config.globalProperties.$showToast = (title, icon = 'none') => {
		return uni.showToast({
			title,
			icon,
			duration: 2000
		})
	}

	// 全局方法 - 确认对话框封装
	app.config.globalProperties.$showConfirm = (title, content) => {
		return new Promise((resolve, reject) => {
			uni.showModal({
				title,
				content,
				success: (res) => {
					if (res.confirm) {
						resolve(true)
					} else {
						reject(false)
					}
				},
				fail: reject
			})
		})
	}

	return {
		app
	}
}